home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 676-700 / 682 / rexxhostlib / preinclude.c < prev    next >
C/C++ Source or Header  |  1995-03-18  |  3KB  |  76 lines

  1. /*
  2. **    rexxhost.library - ARexx host management support library
  3. **
  4. **    Copyright © 1990-1992 by Olaf `Olsen' Barthel
  5. **        All Rights Reserved
  6. */
  7.  
  8.     /* Main system includes. */
  9.  
  10. #include <dos/dosextens.h>
  11. #include <exec/execbase.h>
  12. #include <exec/memory.h>
  13. #include <exec/alerts.h>
  14. #include <rexx/rxslib.h>
  15.  
  16. #include <clib/rexxsyslib_protos.h>
  17. #include <clib/exec_protos.h>
  18. #include <clib/dos_protos.h>
  19.  
  20.     /* BCPL 'NULL'. */
  21.  
  22. #define ZERO 0L
  23.  
  24.     /* Global library base IDs. */
  25.  
  26. extern struct RxsLib    *RexxSysBase;
  27. extern struct ExecBase    *SysBase;
  28.  
  29.     /* rexxsyslib.library pragmas. */
  30.  
  31. #pragma libcall RexxSysBase CreateArgstring 7e 802
  32. #pragma libcall RexxSysBase DeleteArgstring 84 801
  33. #pragma libcall RexxSysBase CreateRexxMsg 90 9803
  34. #pragma libcall RexxSysBase DeleteRexxMsg 96 801
  35. #pragma libcall RexxSysBase FindRsrcNode b4 9803
  36.  
  37.     /* The rexx host library base. */
  38.  
  39. struct RexxHostBase
  40. {
  41.     struct Library     LibNode;
  42.     struct RxsLib    *RexxSysBase;
  43. };
  44.  
  45.     /* A rexx host, somewhat more than a simple MsgPort. */
  46.  
  47. struct RexxHost
  48. {
  49.     struct MsgPort    rh_Port;
  50.     UWORD        rh_Pad;
  51.  
  52.     ULONG        rh_SpecialID;
  53.     ULONG        rh_Reserved[4];
  54. };
  55.  
  56.     /* Prototypes for all library functions. */
  57.  
  58. struct RexxHost * __saveds __asm    CreateRexxHost(register __a0 STRPTR HostName);
  59. VOID * __saveds __asm            DeleteRexxHost(register __a0 struct RexxHost *RexxHost);
  60. LONG __saveds __asm            SendRexxCommand(register __a0 struct RexxHost *HostPort,register __a1 STRPTR CommandString,register __a2 STRPTR FileExtension,register __a3 STRPTR HostName);
  61. VOID __saveds __asm            FreeRexxCommand(register __a0 struct RexxMsg *RexxMessage);
  62. VOID __saveds __asm            ReplyRexxCommand(register __a0 struct RexxMsg *RexxMessage,register __d0 LONG Primary,register __d1 LONG Secondary,register __a1 STRPTR Result);
  63. STRPTR __saveds __asm            GetRexxCommand(register __a0 struct RexxMsg *RexxMessage);
  64. STRPTR __saveds __asm            GetRexxArg(register __a0 struct RexxMsg *RexxMessage);
  65. LONG __saveds __asm            GetRexxResult1(register __a0 struct RexxMsg *RexxMessage);
  66. LONG __saveds __asm            GetRexxResult2(register __a0 struct RexxMsg *RexxMessage);
  67. STATIC BYTE __regargs            IsSpace(UBYTE c);
  68. STRPTR __saveds __asm            GetToken(register __a0 STRPTR String,register __a1 LONG *StartChar,register __a2 STRPTR AuxBuff,register __d0 LONG MaxLength);
  69. LONG __saveds __asm            GetStringValue(register __a0 STRPTR String);
  70. STRPTR __saveds __asm            BuildValueString(register __d0 LONG Value,register __a0 STRPTR String);
  71. LONG __saveds __asm            RexxStrCmp(register __a0 STRPTR Source,register __a1 STRPTR Target);
  72. struct RexxMsg * __saveds __asm        GetRexxMsg(register __a0 struct RexxHost *RexxHost,register __d0 LONG Wait);
  73. ULONG __saveds __asm            SendRexxMsg(register __a0 STRPTR HostName,register __a1 STRPTR *MsgList,register __a2 STRPTR SingleMsg,register __d0 LONG GetResult);
  74. VOID __saveds __asm            GetRexxString(register __d0 STRPTR SourceString,register __d1 STRPTR DestString);
  75. LONG __saveds __asm            GetRexxClip(register __a0 UBYTE *Name,register __d0 LONG WhichArg);
  76.